﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//写一个函数，可以逆序一个字符串的内容。
//#include <string.h>
//void Revers(char *ch, size_t sz)
//{
//	int i = 0;
//	for (i = 0 ;i < sz; i++)
//	{
//		int j = 0;
//		for (j = 0; j < sz - 1 - i; j++)
//		{
//			*(ch + j) = (*(ch + j)) ^ (*(ch + j + 1));
//			*(ch + j + 1) = (*(ch + j)) ^ (*(ch + j + 1));
//			*(ch + j) = (*(ch + j)) ^ (*(ch + j + 1));
//		}
//	}
//
//}
//int main()
//{
//	char ch[10] = "i am best";
//	size_t sz = strlen(ch);
//	printf("逆序前:%s\n", ch);
//	Revers(ch, sz);
//	printf("逆序后:%s", ch);
//	return 0;
//}
//

//模拟实现库函数strlen
//int My_strlen(char* p)
//{
//	int count = 0;
//	while (*p != '\0')
//	{
//		count++;
//		p++;
//	}
//	return count;
//}


//int My_strlen(char* p)
//{
//	int count = 0;
//	while (*p)
//	{
//		count++;
//		p++;
//	}
//	return count;
//}
//
//int main()
//{
//	char ch[10] = "i am best";
//	int sz = 0;
//	sz = My_strlen(ch);
//	printf("sz = %d", sz);
//	return 0;
//}


//调整数组使奇数全部都位于偶数前面。
//题目：
//输入一个整数数组，实现一个函数，
//来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分，
//所有偶数位于数组的后半部分。

void Ji_ou(int* p, int sz)
{
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		int j = 0;
		for (j = 0; j < sz; j++)
		{
			if (*(p + j) % 2 == 1) 
			{
				int temp = *(p + j);
				*(p + j) = *p;
				*p = temp;
			}
		}
		p++;
	}
}

int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	Ji_ou(arr, sz);
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		printf("%d ", arr[i]);
	}
	return 0;
}
